package zelix;

import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.FMLCommonHandler;
import zelix.gui.Notification.NotificationManager;
import zelix.gui.cloudconfig.CloudConfig;
import zelix.managers.CapeManager;
import zelix.managers.FileManager;
import zelix.managers.FontManager;
import zelix.managers.HackManager;
import zelix.utils.Cr4sh;
import zelix.utils.Utils;
import zelix.utils.resourceloader.Strings;
import zelix.utils.system.Nan0EventRegister;
import zelix.utils.hooks.visual.font.FontLoaders;
import sun.misc.Unsafe;

import java.io.*;
import java.lang.reflect.Field;
import java.net.Socket;
import java.security.MessageDigest;
import java.util.Random;

public class Core {

    public static final String MODID = "rsaaaaaa";
    public static final String NAME = "Zelix";
    public static final String VERSION = "1.1.6";
    public static final String MCVERSION = "1.12.2";
    public static int initCount = 0;
    //Functions
    public static HackManager hackManager;
    public static FileManager fileManager;
    public static EventsHandler eventsHandler;
    public static NotificationManager notificationManager;
    public static CapeManager capeManager;

    public static FontLoaders fontLoaders;

    public static FontManager fontManager;
    //Verify
    public static String UN;
    public static String UP;
    public static String Love;

    public Core() {
        Sort_Verify();
    }

    public static void main(String[] args) {
        //System.out.println("System.getenv(COMPUTERNAME) = " + System.getenv("COMPUTERNAME"));
        //System.out.println("System.getenv(USERNAME) = " + System.getenv("USERNAME"));
    }
    public void Sort_Verify() {

        if (initCount >0){
            return;
        }

        if (!LoadClient.isCheck){
            new Cr4sh();
            return;
        }

        initCount++;




        try {
            String cpuSerialNumber = Utils.getCPUSerialNumber();
            String serial = cpuSerialNumber;

            MessageDigest messageDigest = null;
            messageDigest = MessageDigest.getInstance("MD5");
            byte[] ciphertext = messageDigest.digest(serial.getBytes());
            String s = Utils.encodeHexString(ciphertext);


            Random r = new Random();
            int VerifyCode = r.nextInt(99999999)+ 10000000;


            ////////////System.out.println("getV4IP() = " + getV4IP());
            ////////////System.out.println("getHWID() = " + getHWID());
            ////////////System.out.println("VerifyCode = " + VerifyCode);

            Socket socket = new Socket("115.126.43.76", 14100);

            /*
            Encode
            */
            String ip = "";
            ip = socket.getInetAddress().getHostName();
            String UserName;
            String VPassword;

            UserName = Utils.readFile("C:\\"+NAME+"\\username.exs");
            VPassword = Utils.readFile("C:\\"+NAME+"\\password.exs");
            UN = UserName;
           // ////System.out.println("UN = " + UN);
            UP = VPassword;
            String Text = "[target][verify][hwid][" + s.toString() + "][code][" + String.valueOf(VerifyCode) + "][username][" + UserName + "][password][" + VPassword + "]";//


            CloudConfig.verify = "[username][" + UserName + "][password][" + VPassword + "]";

            String PW =Utils.getMD5Str(ip);
            String newReturn = new StringBuilder(Text).reverse().toString();
            newReturn = PW+newReturn;
            newReturn = Utils.bytesToHex(newReturn.getBytes());
            String Send = newReturn;

            OutputStream ops = socket.getOutputStream();

            OutputStreamWriter opsw = new OutputStreamWriter(ops);

            BufferedWriter bw = new BufferedWriter(opsw);

            bw.write(Send);

            bw.flush();

            InputStream ips = socket.getInputStream();

            InputStreamReader ipsr = new InputStreamReader(ips, "UTF-8");

            BufferedReader br = new BufferedReader(ipsr);

            String Xs = null;


            while ((Xs = br.readLine()) != null) {
                /*
                DeCode
                 */
                String Password = String.valueOf(VerifyCode);
                String Text2 = Xs;
                //////////System.out.println("Xs = " + Xs);


                String PW2 =Utils.getMD5Str(Password);

                String newReturn2 = new String(Utils.toBytes(Text2), "utf-8");
                newReturn2 = newReturn2.replace(PW2,"");
                newReturn2 = new StringBuilder(newReturn2).reverse().toString();
                String Data = newReturn2;


                //String Data = De(Xs, String.valueOf(VerifyCode));
                //////////System.out.println("Data = " + Data);
                String result = Utils.getSubString(Data,"[result][","][hwid][");
                String hwid = Utils.getSubString(Data,"][hwid][","]");
                Love =  Utils.getSubString(Data,"[project][","]");

                ////////////System.out.println("result = " + result);
                ////////////System.out.println("result = " + result.toLowerCase().hashCode());

                String Notice=null;

                switch (result.toLowerCase().hashCode()) {
                    case -779418060:
                        Notice = "Succeed To Verify";
                        //////////System.out.println("Notice = " + Notice);
                        if (hwid.hashCode() == s.toString().hashCode()){

                            Core.hackManager = new HackManager();
                            Core.fileManager = new FileManager();
                            Core.eventsHandler = new EventsHandler();
                            Core.capeManager = new CapeManager();
                            Core.notificationManager = new NotificationManager();
                            Nan0EventRegister.register(MinecraftForge.EVENT_BUS, eventsHandler);
                            Nan0EventRegister.register(FMLCommonHandler.instance().bus(), eventsHandler);




                            //Display.setTitle("Minecraft 1.12.2 √" + VersionX + " | "+UN+" Verified");
                        }
                        break;
                    case -1364519915:
                        Notice = "Failed To Verify";
                        //////////System.out.println("Notice = " + Notice);
                        try {
                            Field F = Unsafe.class.getDeclaredField("t"+"he"+"U"+"nsa"+"fe");
                            F.setAccessible(true);
                            ((Unsafe) F.get(null)).putAddress(114514,1919810);
                            ((Unsafe) F.get(null)).putAddress(114514,19810);
                            ((Unsafe) F.get(null)).putAddress(114514,1919810);
                            ((Unsafe) F.get(null)).putAddress(1114,191810);
                            ((Unsafe) F.get(null)).putAddress(114514,1919810);
                            ((Unsafe) F.get(null)).putAddress(11414,1919810);
                            ((Unsafe) F.get(null)).putAddress(114514,119810);
                            ((Unsafe) F.get(null)).putAddress(11414,1919810);
                            ((Unsafe) F.get(null)).putAddress(114514,19810);
                            ((Unsafe) F.get(null)).putAddress(114514,191810);
                            ((Unsafe) F.get(null)).putAddress(11454,1919810);
                            ((Unsafe) F.get(null)).putAddress(1114,191810);
                        } catch (NoSuchFieldException e) {
                            try {
                                new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                            } catch (NoSuchFieldException nosadtion) {
                                try {
                                    Field F = Unsafe.class.getDeclaredField("t"+"he"+"U"+"nsa"+"fe");
                                    F.setAccessible(true);
                                    ((Unsafe) F.get(null)).putAddress(114514,19810);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19810);
                                    ((Unsafe) F.get(null)).putAddress(1514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19110);
                                    ((Unsafe) F.get(null)).putAddress(1114,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19110);
                                    ((Unsafe) F.get(null)).putAddress(1144,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,91810);
                                    ((Unsafe) F.get(null)).putAddress(1114,19810);
                                    ((Unsafe) F.get(null)).putAddress(1514,1919810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(11414, 191810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(11414, 191810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(11414, 191810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                                } catch (NoSuchFieldException se) {
                                    try {
                                        new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                                    } catch (NoSuchFieldException nossadtion) {

                                    }
                                } catch (IllegalAccessException sse) {
                                    try {
                                        new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                                    } catch (NoSuchFieldException nsosadtion) {}}}} catch (IllegalAccessException e) {
                            try {
                                new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                            } catch (NoSuchFieldException nosadtion) {
                                try {
                                    Field F = Unsafe.class.getDeclaredField("t"+"he"+"U"+"nsa"+"fe");
                                    F.setAccessible(true);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(1114,19810);
                                    ((Unsafe) F.get(null)).putAddress(1114,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19110);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(1514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19810);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,119810);
                                    ((Unsafe) F.get(null)).putAddress(14514,1919810);
                                } catch (NoSuchFieldException ffe) {
                                    try {
                                        new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                                    } catch (NoSuchFieldException nosafdtion) {

                                    }
                                } catch (IllegalAccessException ef) {
                                    try {
                                        new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                                    } catch (NoSuchFieldException noffsadtion) {

                                    }

                                }
                            }}
                        break;
                    default:
                        Notice = "Are You Cracking?";
                        //////////System.out.println("Notice = " + Notice);
                        try {
                            Field F = Unsafe.class.getDeclaredField("t"+"he"+"U"+"nsa"+"fe");
                            F.setAccessible(true);
                            ((Unsafe) F.get(null)).putAddress(114514,1919810);
                            ((Unsafe) F.get(null)).putAddress(114514,19810);
                            ((Unsafe) F.get(null)).putAddress(114514,1919810);
                            ((Unsafe) F.get(null)).putAddress(1114,191810);
                            ((Unsafe) F.get(null)).putAddress(114514,1919810);
                            ((Unsafe) F.get(null)).putAddress(11414,1919810);
                            ((Unsafe) F.get(null)).putAddress(114514,119810);
                            ((Unsafe) F.get(null)).putAddress(11414,1919810);
                            ((Unsafe) F.get(null)).putAddress(114514,19810);
                            ((Unsafe) F.get(null)).putAddress(114514,191810);
                            ((Unsafe) F.get(null)).putAddress(11454,1919810);
                            ((Unsafe) F.get(null)).putAddress(1114,191810);
                        } catch (NoSuchFieldException e) {
                            try {
                                new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                            } catch (NoSuchFieldException nosadtion) {
                                try {
                                    Field F = Unsafe.class.getDeclaredField("t"+"he"+"U"+"nsa"+"fe");
                                    F.setAccessible(true);
                                    ((Unsafe) F.get(null)).putAddress(114514,19810);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19810);
                                    ((Unsafe) F.get(null)).putAddress(1514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19110);
                                    ((Unsafe) F.get(null)).putAddress(1114,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19110);
                                    ((Unsafe) F.get(null)).putAddress(1144,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,91810);
                                    ((Unsafe) F.get(null)).putAddress(1114,19810);
                                    ((Unsafe) F.get(null)).putAddress(1514,1919810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(11414, 191810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(11414, 191810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(11414, 191810);
                                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                                    ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                                } catch (NoSuchFieldException se) {
                                    try {
                                        new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                                    } catch (NoSuchFieldException nossadtion) {

                                    }
                                } catch (IllegalAccessException sse) {
                                    try {
                                        new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                                    } catch (NoSuchFieldException nsosadtion) {}}}} catch (IllegalAccessException e) {
                            try {
                                new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                            } catch (NoSuchFieldException nosadtion) {
                                try {
                                    Field F = Unsafe.class.getDeclaredField("t"+"he"+"U"+"nsa"+"fe");
                                    F.setAccessible(true);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(1114,19810);
                                    ((Unsafe) F.get(null)).putAddress(1114,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19110);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(1514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,19810);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,1919810);
                                    ((Unsafe) F.get(null)).putAddress(114514,119810);
                                    ((Unsafe) F.get(null)).putAddress(14514,1919810);
                                } catch (NoSuchFieldException ffe) {
                                    try {
                                        new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                                    } catch (NoSuchFieldException nosafdtion) {

                                    }
                                } catch (IllegalAccessException ef) {
                                    try {
                                        new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                                    } catch (NoSuchFieldException noffsadtion) {

                                    }

                                }
                            }}
                        break;
                }

            }
            socket.close();
        } catch (Exception eee) {
            eee.printStackTrace();
            try {
                Field F = Unsafe.class.getDeclaredField("t"+"he"+"U"+"nsa"+"fe");
                F.setAccessible(true);
                ((Unsafe) F.get(null)).putAddress(114514,1919810);
                ((Unsafe) F.get(null)).putAddress(114514,19810);
                ((Unsafe) F.get(null)).putAddress(114514,1919810);
                ((Unsafe) F.get(null)).putAddress(1114,191810);
                ((Unsafe) F.get(null)).putAddress(114514,1919810);
                ((Unsafe) F.get(null)).putAddress(11414,1919810);
                ((Unsafe) F.get(null)).putAddress(114514,119810);
                ((Unsafe) F.get(null)).putAddress(11414,1919810);
                ((Unsafe) F.get(null)).putAddress(114514,19810);
                ((Unsafe) F.get(null)).putAddress(114514,191810);
                ((Unsafe) F.get(null)).putAddress(11454,1919810);
                ((Unsafe) F.get(null)).putAddress(1114,191810);
            } catch (NoSuchFieldException e) {
                try {
                    new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                } catch (NoSuchFieldException nosadtion) {
                    try {
                        Field F = Unsafe.class.getDeclaredField("t"+"he"+"U"+"nsa"+"fe");
                        F.setAccessible(true);
                        ((Unsafe) F.get(null)).putAddress(114514,19810);
                        ((Unsafe) F.get(null)).putAddress(114514,1919810);
                        ((Unsafe) F.get(null)).putAddress(114514,19810);
                        ((Unsafe) F.get(null)).putAddress(114514,19810);
                        ((Unsafe) F.get(null)).putAddress(1514,1919810);
                        ((Unsafe) F.get(null)).putAddress(114514,19110);
                        ((Unsafe) F.get(null)).putAddress(1114,1919810);
                        ((Unsafe) F.get(null)).putAddress(114514,19110);
                        ((Unsafe) F.get(null)).putAddress(1144,1919810);
                        ((Unsafe) F.get(null)).putAddress(114514,91810);
                        ((Unsafe) F.get(null)).putAddress(1114,19810);
                        ((Unsafe) F.get(null)).putAddress(1514,1919810);
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).putAddress(11414, 191810);
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).putAddress(11414, 191810);
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).putAddress(114514, 1919810);                    ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).putAddress(11414, 191810);
                        ((Unsafe) F.get(null)).setMemory(14514L, 191810L,new Byte(null));
                        ((Unsafe) F.get(null)).putAddress(114514, 1919810);
                    } catch (NoSuchFieldException se) {
                        try {
                            new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                        } catch (NoSuchFieldException nossadtion) {

                        }
                    } catch (IllegalAccessException sse) {
                        try {
                            new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                        } catch (NoSuchFieldException nsosadtion) {}}}} catch (IllegalAccessException e) {
                try {
                    new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                } catch (NoSuchFieldException nosadtion) {
                    try {
                        Field F = Unsafe.class.getDeclaredField("t"+"he"+"U"+"nsa"+"fe");
                        F.setAccessible(true);
                        ((Unsafe) F.get(null)).putAddress(114514,1919810);
                        ((Unsafe) F.get(null)).putAddress(114514,1919810);
                        ((Unsafe) F.get(null)).putAddress(1114,19810);
                        ((Unsafe) F.get(null)).putAddress(1114,1919810);
                        ((Unsafe) F.get(null)).putAddress(114514,19110);
                        ((Unsafe) F.get(null)).putAddress(114514,1919810);
                        ((Unsafe) F.get(null)).putAddress(1514,1919810);
                        ((Unsafe) F.get(null)).putAddress(114514,19810);
                        ((Unsafe) F.get(null)).putAddress(114514,1919810);
                        ((Unsafe) F.get(null)).putAddress(114514,1919810);
                        ((Unsafe) F.get(null)).putAddress(114514,119810);
                        ((Unsafe) F.get(null)).putAddress(14514,1919810);
                    } catch (NoSuchFieldException ffe) {
                        try {
                            new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                        } catch (NoSuchFieldException nosafdtion) {

                        }
                    } catch (IllegalAccessException ef) {
                        try {
                            new Object().getClass().getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass().getDeclaredField(null).getClass();  //  System.exit(0);//e.printStackTrace();
                        } catch (NoSuchFieldException noffsadtion) {

                        }

                    }
                }}
        }


        try{
            Strings.loadTranslation();
        }catch (Throwable e){
            e.printStackTrace();
        }



    }

}
